package com.soilflow.common.utils.easyexcel;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;

/**
 * 0小学，1初中，2中专，3技校，4高中，5大学专科，6大学本科，7研究生
 */
public class EducationBackgroundConverter implements Converter<Short> {

    //在java中默认是用 0 1 来标识的  所以是int
    @Override
    public Class supportJavaTypeKey() {return Short.class;}

    // 在excel中是默认非默认 所以是string
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}
 
    //将excel的数据类型转为java数据类型
    @Override
    public Short convertToJavaData(ReadCellData readCellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        String stringValue = readCellData.getStringValue();
        if (stringValue == null) {
            return 6;
        }
        if ("小学".equals(stringValue)) {
            return 0;
        }
        if ("初中".equals(stringValue)){
            return 1;
        }
        if ("中专".equals(stringValue)){
            return 2;
        }
        if ("技校".equals(stringValue)){
            return 3;
        }
        if ("高中".equals(stringValue)){
            return 4;
        }
        if ("大学专科".equals(stringValue)){
            return 5;
        }
        if ("大学本科".equals(stringValue)){
            return 6;
        }
        if ("研究生".equals(stringValue)){
            return 7;
        }
        return null;
    }
 
    //将java的数据类型转为excel数据类型
    @Override
    public WriteCellData convertToExcelData(Short s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        if	(s==0){
            return new WriteCellData("小学");
        }
        if	(s==1){
            return new WriteCellData("初中");
        }
        if	(s==2){
            return new WriteCellData("中专");
        }
        if	(s==3){
            return new WriteCellData("技校");
        }
        if	(s==4){
            return new WriteCellData("高中");
        }
        if	(s==5){
            return new WriteCellData("大学专科");
        }
        if	(s==6){
            return new WriteCellData("大学本科");
        }
        if	(s==7){
            return new WriteCellData("研究生");
        }
        return new WriteCellData("");
    }
}